//封装ajax请求的公用代码
//1.请求的Url.这个是后端的服务器地址。不同的url代表不同的
//2.需要发送到服务器的数据
//3.请求的method(请求方法)，一定是后端确定的（看文档）
//4.应答结果的处理（两个function,正确错误各一个）

const SERVER_BASE_URL = 'https://huhuiyu.top/teach-service';
//封装ajax请求的公用代码
//path就是api接口地址，params就是发送到服务器的数据
//cd就是应答结果的处理function,method就是请求方式
function ajaxRequest(path, params, cb, method) {
  let promise = axios({
    url: SERVER_BASE_URL + path,
    //{allowDot:ture}是允许传入多级json
    //{'a.b':134}{a:{b:134}}
    data: Qs.stringify(params, {
      allowDots: true
    }),
    //method如果不传入就是post
    method: method ? method : 'post',
    //通过头信息发送token
    headers: {
      token: localStorage.getItem('huhuiyu.server.token')
    }
  });
  promise
    .then(function (resp) {
      //保存服务器端的token信息(服务器追踪客户端的凭证)
      if (resp.data && resp.data.token) {
        localStorage.setItem('huhuiyu.server.token', resp.data.token);
      }
      //cb是function,传递的只有服务器数据
      cb(resp.data);
    })
    .catch(function (err) {
      console.error(err);
      cb({
        code: 500,
        success: false,
        message: '请求失败！'
      });
    });
}

//通用处理服务器时间的function
function formatTimestamp(ts) {
  let data = new Date();
  data.setTime(ts);
  let y = data.getFullYear();
  let n = data.getMonth() + 1;
  let d = data.getDate();
  let h = data.getHours();
  let mm = data.getMinutes();
  let s = data.getSeconds();
  return y + '-' + n + '-' + d + ' ' + h + ':' + mm + ':' + s;
}

//md5加密
function md5(info) {
  return SparkMD5.hash(info);
}

//作业:班级和
